/*
 * Copyright 2011 John Alström
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package se.elva.slticket.dialog;

import se.elva.slticket.R;
import se.elva.slticket.repository.SavedStates;
import android.app.Dialog;
import android.content.Context;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.LayoutInflater;
import android.view.View;
import android.view.Window;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class ConfirmPasswordDialog extends Dialog {
	
	private Button okButton;
	private Button cancelButton;
	private EditText passwordEditText;
	
	public ConfirmPasswordDialog(Context context) {
		super(context);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		
		LayoutInflater factory = LayoutInflater.from(context);
		final View textEntryView = factory.inflate(R.layout.confirm_send_password_dialog,null);
		this.setContentView(textEntryView);
		addOkButton();
		addCancelButton();
		TextView text = (TextView)findViewById(R.id.msgText);
		text.setText("Ange lösenord för att låsa upp");
		cancelButton.setOnClickListener(onCancelListener);
		addPasswordEditText();
	}
	
	
	android.view.View.OnClickListener onCancelListener = new android.view.View.OnClickListener() {
		public void onClick(View v) {
			cancel();
		}
	
	};
	
	
	public String getPassword(){
		return passwordEditText.getText().toString();
	}
	

	TextWatcher watcher = new TextWatcher() {
		public void onTextChanged(CharSequence s, int start, int before,
				int count) {
			checkPassword();
		}

		public void beforeTextChanged(CharSequence s, int start, int count,
				int after) {
			// TODO Auto-generated method stub

		}

		public void afterTextChanged(Editable s) {

		}
	};
	
	private void checkPassword(){
		if(new SavedStates(getContext()).getSavedPassword().equals(passwordEditText.getText().toString())){
			passwordEditText.setBackgroundResource(R.drawable.greenedittext_background);
		}else{
			passwordEditText.setBackgroundResource(R.drawable.rededittext_background);
			
		}
	
	}
	
	private void addPasswordEditText(){
		this.passwordEditText = (EditText)findViewById(R.id.password);
		checkPassword();
		this.passwordEditText.addTextChangedListener(watcher);
	}
	
	private void addOkButton(){
		this.okButton = (Button)findViewById(R.id.ok);	
	}
	
	public Button getOkButton(){
		return this.okButton;
	}
	private void addCancelButton(){
		this.cancelButton = (Button)findViewById(R.id.cancel);	
	}
	
	public Button getCancekButton(){
		return this.cancelButton;
	}
}
